package com.mes.biz.domain;

import com.mes.common.annotation.Excel;
import com.mes.common.core.domain.BaseEntity;
import com.mes.common.utils.log.annotation.FieldRemark;
import com.mes.common.utils.log.annotation.LogField;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * 工序计划明细对象 biz_product_process_detail
 * @author hwg
 * @email hwg
 * @date 2023-05-03
 */
@Data
public class BizProductProcessDetail extends BaseEntity<BizProductProcessDetail>
{
    private static final long serialVersionUID = 1L;

    /** 工序计划id */
    @Excel(name = "工序计划id")
    @NotBlank(message = "工序计划id不允许为空")
    @LogField
    @FieldRemark(name = "工序计划id",field = "productProcessId")
    private String productProcessId;

    /** 工序id */
    @Excel(name = "工序id")
    @NotBlank(message = "工序id不允许为空")
    @LogField
    @FieldRemark(name = "工序id",field = "productionProcessId")
    private String productionProcessId;

    /** 单位工资 */
    @Excel(name = "单位工资")
    @LogField
    @FieldRemark(name = "单位工资",field = "unitSalary")
    private BigDecimal unitSalary;

    /** 单位加工量 */
    @Excel(name = "单位加工量")
    @LogField
    @FieldRemark(name = "单位加工量",field = "unitProcessVol")
    private BigDecimal unitProcessVol;

    /** 租户id */
    @Excel(name = "租户id")
    @NotBlank(message = "租户id不允许为空")
    @LogField
    @FieldRemark(name = "租户id",field = "tenantId")
    private String tenantId;

    private String processName;

    private String processCode;

    private Integer sortNumber;

    public void setProductProcessId(String productProcessId)
    {
        this.productProcessId = productProcessId;
    }

    public String getProductProcessId()
    {
        return productProcessId;
    }

    public void setProductionProcessId(String productionProcessId)
    {
        this.productionProcessId = productionProcessId;
    }

    public String getProductionProcessId()
    {
        return productionProcessId;
    }

    public void setUnitSalary(BigDecimal unitSalary)
    {
        this.unitSalary = unitSalary;
    }

    public BigDecimal getUnitSalary()
    {
        return unitSalary;
    }

    public void setUnitProcessVol(BigDecimal unitProcessVol)
    {
        this.unitProcessVol = unitProcessVol;
    }

    public BigDecimal getUnitProcessVol()
    {
        return unitProcessVol;
    }

    public void setTenantId(String tenantId)
    {
        this.tenantId = tenantId;
    }

    public String getTenantId()
    {
        return tenantId;
    }

    public Integer getSortNumber() {
        return sortNumber;
    }

    public void setSortNumber(Integer sortNumber) {
        this.sortNumber = sortNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("productProcessId", getProductProcessId())
            .append("productionProcessId", getProductionProcessId())
            .append("unitSalary", getUnitSalary())
            .append("unitProcessVol", getUnitProcessVol())
            .append("tenantId", getTenantId())
            .append("remark", getRemark())
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createDept", getCreateDept())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("updateIp", getUpdateIp())
            .append("version", getVersion())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
